import axios from 'axios';
import ElementUI from 'element-ui'

// 创建axios实例，并配置基础URL（如果有需要）
const request = axios.create({
    baseURL: 'http://localhost:8008',
    timeout: 5000,
});

// 请求拦截器
request.interceptors.request.use(
    config => {
        // 可以在这里添加请求头等信息
        config.headers['Content-Type'] = 'application/json;charset=utf-8';
        let user = localStorage.getItem("user") ? JSON.parse(localStorage.getItem("user")) : null
        if (user){
            //设置请求头
            config.headers['token'] = user.token
        }

        return config;
    },
    error => {
        // 请求错误处理
        return Promise.reject(error);
    }
);

// 响应拦截器
request.interceptors.response.use(
    response => {
        // 对响应数据做处理，例如只返回data部分
        let res = response.data;
        //如果返回的是文件
        if (response.config.responseType === 'blob'){
            return res
        }
        //兼容服务器端返回的字符串数据
        if (typeof res === 'string'){
            res = res ? JSON.parse(res) : res
        }
        if (res.code === '401'){
            ElementUI.Message({
                message: res.msg,
                type:'error'
            })

        }
        return res;
    },
    error => {
        // 响应错误处理
        console.log('err' +error)
        return Promise.reject(error);
    }
);

// 导出axios实例
export default request;